package com.fulihui.usercore.request.user;

import com.fulihui.usercore.enums.UserIdentity;
import org.near.servicesupport.request.BaseRequest;

import java.util.Collections;
import java.util.Map;

/**
 * 用户注册请求对象
 * Created by Willard.Hu on 2016/5/16.
 */

public class UserRegisterRequest extends BaseRequest {
    private static final long serialVersionUID = 1655468160100915221L;
    /**
     * 登录账号，必填
     */
    private String loginId;
    /**
     * 密码
     */
    private String password;
    /**
     * 注册类型，必填
     *
     * @see com.fulihui.usercore.enums.UserRegisterTypeEnum
     */
    private String registerType;
    /**
     * 注册来源
     */
    private String registerSource;
    /**
     * 纬度
     */
    private String latitude;
    /**
     * 经度
     */
    private String longitude;
    /**
     * 用户IP地址或mac
     */
    private String userIP;
    /**
     * 第三方唯一标识
     */
    private String outUniqueId;
    /**
     * 身份，默认用户身份
     * <p>使用 {@link UserIdentity}下的工具类初始化
     */
    private int identity = UserIdentity.merge(Collections
            .singletonList(UserIdentity.USER));
    /**
     * 省份代码
     */
    private String province;
    /**
     * 城市代码
     */
    private String city;
    /**
     * 扩展提交信息
     */
    private Map<String, Object> extReq;
    /**
     * 扩展信息
     */
    private Map<String, Object> extInfo;
    /**
     * 登录验证码
     */
    private String vcode;
    /**
     * 验证码命名空间,通过该字段隔离验证码
     */
    private String vcodeNamespace;

    public String getLoginId() {
        return loginId;
    }

    public void setLoginId(String loginId) {
        this.loginId = loginId;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public String getRegisterType() {
        return registerType;
    }

    public void setRegisterType(String registerType) {
        this.registerType = registerType;
    }

    public String getRegisterSource() {
        return registerSource;
    }

    public void setRegisterSource(String registerSource) {
        this.registerSource = registerSource;
    }

    public String getLatitude() {
        return latitude;
    }

    public void setLatitude(String latitude) {
        this.latitude = latitude;
    }

    public String getLongitude() {
        return longitude;
    }

    public void setLongitude(String longitude) {
        this.longitude = longitude;
    }

    public String getUserIP() {
        return userIP;
    }

    public void setUserIP(String userIP) {
        this.userIP = userIP;
    }

    public String getOutUniqueId() {
        return outUniqueId;
    }

    public void setOutUniqueId(String outUniqueId) {
        this.outUniqueId = outUniqueId;
    }

    public int getIdentity() {
        return identity;
    }

    public void setIdentity(int identity) {
        this.identity = identity;
    }

    public String getProvince() {
        return province;
    }

    public void setProvince(String province) {
        this.province = province;
    }

    public String getCity() {
        return city;
    }

    public void setCity(String city) {
        this.city = city;
    }

    public Map<String, Object> getExtReq() {
        return extReq;
    }

    public void setExtReq(Map<String, Object> extReq) {
        this.extReq = extReq;
    }

    public Map<String, Object> getExtInfo() {
        return extInfo;
    }

    public void setExtInfo(Map<String, Object> extInfo) {
        this.extInfo = extInfo;
    }

    public String getVcode() {
        return vcode;
    }

    public void setVcode(String vcode) {
        this.vcode = vcode;
    }

    public String getVcodeNamespace() {
        return vcodeNamespace;
    }

    public void setVcodeNamespace(String vcodeNamespace) {
        this.vcodeNamespace = vcodeNamespace;
    }

}
